home *** CD-ROM | disk | FTP | other *** search
Wrap
function prepare(str) { clearUp(); if(str == "") { return undefined; } numCurrent = -1; strPlaylistID = str; enabled = true; var xmlAdverts = new XML(); xmlAdverts.ignoreWhite = true; xmlAdverts.onLoad = function() { xmlPlaylist = xmlAdverts.byPath("adverts/@" + strPlaylistID); delete xmlAdverts; loadAdvert(); }; xmlAdverts.load(ADVERTS_DATA); } function start() { next(); } function clearUp() { mc_file.unloadMovie(); delete mc_file.onEnterFrame; clearInterval(numWaitID); enabled = false; expandable = false; delete strPlaylistID; delete xmlPlaylist; } function onClicked() { if(Tardis.Childlock.active == true) { return undefined; } if(ndCurrent.attributes.category == "web") { var strWebURL = ndCurrent.attributes.url; if(Tardis.PLAY_MODE == "browser") { getURL(strWebURL,""); return undefined; } var strLog = xmlPlaylist.attributes.index + "." + numCurrent; Tardis.UsageData.addWebAdvertEntry(strLog); Tardis.webPageOpen(strWebURL); } else { if(Tardis.PLAY_MODE == "browser") { return undefined; } var numAds = xmlPlaylist.childNodes.length; var arrAdList = new Array(); trace("numAds: " + numAds); trace("numCurrent: " + numCurrent); var i = 0; while(i < numAds) { if(Number(xmlPlaylist.childNodes[i].attributes.playlistId) == numCurrent + 1) { arrAdList.push(xmlPlaylist.childNodes[i]); } i++; } var obj = createOverlayObj(ndCurrent,arrAdList); Tardis.OverlayController.addAdvertOverlay(obj,true); var strLog = xmlPlaylist.attributes.index + "." + numCurrent; var strType = "advert"; Tardis.UsageData.addAdvertEntry(strLog,strType); } } function createOverlayObj(xmlNode, arrAdList) { var obj = {filename:xmlNode.attributes.overlay,strType:xmlNode.attributes.category,showDelay:xmlNode.attributes.showDelay,allowNeverSee:0,isFullscreen:true,disableLevel:2,closeBut:"advert",arrXmlAdList:arrAdList}; return obj; } function onRolledOver() { this._parent.expandAd(); } function onRolledOut() { this._parent.collapseAd(); } function onAnimationfinished() { fadeDown(); } function interrupt() { if(enabled == false) { error("adverts : interrupt : adverts not enabled"); } var strWaitMode = ndCurrent.attributes.wait; switch(strWaitMode) { case "swfend": mc_file.onEnterFrame = null; mc_file.stop(); break; case "static": case "script": break; default: if(parseInt(strWaitMode) == strWaitMode) { clearInterval(numWaitID); break; } } } function resume() { if(enabled == false) { error("adverts : resume : adverts not enabled"); } startWait(); } function fadeDown() { clearInterval(numWaitID); if(enabled == false) { return undefined; } mc_file.onEnterFrame = function() { with(this) { _alpha -= 10; if(_alpha <= 0) { onEnterFrame = null; _parent.next(); } } }; } function fadeUp() { trace("fade up"); with(this) { _alpha += 10; if(_alpha >= 100) { trace("alpha is 100"); _alpha = 100; trace("_parent.expandable = " + _parent.expandable); trace("typeof(_parent.expandable ): " + typeof _parent.expandable); if(_parent.expandable == "true") { gotoAndStop(2); trace("clip faded in - now play it"); trace("this: " + this); content_mc.play(); } else { play(); } onEnterFrame = null; _parent.enableButton(); _parent.startWait(); } } } function loadAdvert() { numCurrent = 0; if(numCurrent == xmlPlaylist.childNodes.length) { numCurrent = 0; } ndCurrent = xmlPlaylist.byIndex(numCurrent); mc_file.removeMovieClip(); this.createEmptyMovieClip("mc_file",++depth); mc_file._alpha = 0; var f = function() { trace("advert loaded"); this.onLoad = null; this._parent.expandable = this._parent.ndCurrent.attributes.expandable; this.onEnterFrame = this._parent.fadeUp; }; mc_file = _parent.adverts.mc_file; mc_file.onLoad = f; mc_file.loadMovie(ADVERT_PATH + ndCurrent.attributes.file); } function enableButton() { if(ndCurrent.attributes.expandable == "true") { mc_file.mask_mc.onRelease = function() { onClicked(); }; mc_file.mask_mc.onRollOver = onRolledOver; mc_file.mask_mc.onRollOut = onRolledOut; expandable = true; } else { mc_file.onRelease = function() { onClicked(); }; } } function startWait() { var strWaitMode = ndCurrent.attributes.wait; switch(strWaitMode) { case "swfend": if(expandable == false) { mc_file.play(); } mc_file.onEnterFrame = function() { with(this) { if(_currentframe == _totalframes) { stop(); onEnterFrame = null; _parent.fadeDown(); } } }; break; case "static": case "script": break; default: if(parseInt(strWaitMode) == strWaitMode) { numWaitID = setInterval(this,"fadeDown",strWaitMode * 1000); break; } } } stop(); ADVERT_PATH = Tardis.ASSETS_FOLDER + "adverts/"; ADVERTS_DATA = Tardis.ASSETS_FOLDER + "xml/adverts.xml"; PATHS = [["adverts/overlays/vwgolf"],["adverts/overlays/test2"],[],[],[],[],[],[]]; var numWaitID; var numCurrent; var enabled = false; var expandable = false; this.onUnload = function() { clearUp(); };